There are many forms of media suitable for storing vast amounts of information. Such information is typically arranged in the form of data bases. These data bases are usually compilations of data or information which are arranged and stored on media capable of being accessed and read automatically by computing machinery. Examples of data bases are dictionaries, indexes of periodical literature, encyclopedias, lists, directories, numerical tables, and/or combinations of any of the above. An entire library may be collected and stored as a data base, and as such, the amount of information so collected and stored can be vast. In the development of a software system or data base, important characteristics are capacity, speed of retrieval of data, and data transfer rate. These characteristics may determine in large measure whether a particular software offering will be a commercial success or not.
In a digital computer environment, when a data base is "on line" or is accessible directly by a user of the digital computer, the user should be able to scan the data base for a particular characteristic or item of information and thereby locate and retrieve particular information from the data base.
Large computers, called "main frames", have been equipped with considerable storage capacity so as to be able to store and process very large data bases very rapidly. Unfortunately, such computers have been very expensive, and very large, requiring rooms and special power and cooling environments for proper operation.
With the advent and widespread proliferation of microprocessor-based computers, generically referred to as "personal computers", a need for direct access to large data bases by such computers has arisen. Indirect access has been made available via telecommunications connections to central computer facilities which manage data bases. Such access via the telephone network has been slow, cumbersome and expensive for the end user. Also, the public access to such data bases inherently has lacked privacy and/or physical security and has thus prevented some important types of information collections from being made available to selected users.
Simultaneously with the proliferation of personal computers, technological advances in mass storage media and devices have resulted in small plastic optical storage disks for home entertainment applications such as video playback records, and audio playback disks (called compact disc or "CD"). These light reflective optical media are formed with reflective "pits" so that the lengths of these pits and the distances between them may be scanned by a laser-diode-generated light beam in order to recover the data represented thereby. The CD has the capability to store vast quantities of information in digital form. For example, an audio-size CD (having a nominal diameter of only 120 mm and a thickness of 1.22 mm is capable of storing approximately 663 megabytes of digital data ("CD rom").
When CD roms are installed in a suitable playback unit, and when the playback unit is connected to the host computer via a suitable hardware interface connection and software "device driver", the digital information stored on the optical disk may thereupon be directly accessed and/or processed by the host computer, depending upon the computational or processing application being carried out.
CD roms and playback units come from a variety of different manufacturing sources and may assume a variety of data formats and characteristics Similarly, there are a wide variety of personal computers and operating systems with which CD roms and their playback units may be used and, each of these has its own particular operating system and characteristics.
While vast quantities of digital data may be fixed on CD rom, this particular medium has its own peculiar characteristics, based on the arrangement of the data blocks in the single spiral track formed on the data surface of the disk. Depending upon the arrangement of the data on the disk, it may be necessary for the disk player to reposition its optical stylus radially by moving from an inner radial location of the disk track to an outer radial location, or conversely. This repositioning may require considerable time, measured in seconds. Such time delays associated with the data access process may lead to undesirable performance characteristics of CD rom digital playback units connected to target host computing machines.
Before a CD rom containing computer information may be confidently released for manufacture and publication, it must be tested in its intended playback environment of a particular target host computer. It is not unusual for as many as twelve test versions of a CD rom to be required incident to the testing environment, so that a particular application program/data base may be optimized with respect to the characteristics of the CD rom, its playback unit, and the target computing machine with which it is to be connected and used.
One drawback of CD roms is the very high initial manufacturing cost for producing a single test CD rom. Typically, the cost for a test CD rom is about $4,000.00. One other significant drawback is the time required for manufacture of a test CD rom. Typical manufacturing turn-around is about one month. If twelve test disks are required by the software publisher in order to be sure that its software product is debugged to the point of commercial acceptability, the process could likely require about one year development time and about a $50,000.00 investment in test disks (before a production disk master could be made).
Before the introduction of a commercial embodiment of the present invention, the business of assembling data into a form suitable for fixation onto an optical CD rom was largely carried out by service bureaus. Such service bureaus typically received raw data from the software publisher, converted the data into a digital form suitable for recording on the particular storage medium selected, processed the digital information into a format intended for the selected medium and then checked the result by an emulation process. Some or all of the formatted information would be tested in this manner.
Unfortunately, the emulative testing did not enable testing of the entirety of the information, and did not enable testing in a manner which duplicated playback characteristics of the optical CD rom upon which the data would ultimately be recorded during disk manufacture and play back by the user. Thus, even though the result passed the emulation tests, once a test disk was made, further testing was required, based on testing of the test disk. This led to changes and further test disks, etc., as already explained.
Also, the service bureaus were few in number, and each tended to specialize in the format of a particular optical CD rom source. Each source has a slightly different mastering format, so that a different data format is required for each separate source (brand) of optical CD rom.
The process of testing software undergoing development by emulation, rather than by full simulation, has drawbacks and may lead to unsatisfactory results. This approach is typified by the creation of a large data base on a large computing system or "mainframe" other than the target machine where it is intended to be run. Emulation testing occurs after the data base has been assembled. In an emulation test, a small subset of the data base is loaded into a target machine, such as a personal computer, and then run in the intended environment, but not at real data retrieval speed. In this prior approach, the personal computer was acting as an emulator, rather than as a full simulator, in testing only a small fraction of the data base undergoing development at some speed other than the ultimate retrieval/data processing speed. Any attempt to test a large data base by parsing it into small portions and testing each small portion in this manner will be extremely time consuming and may not provide an accurate assessment of overall data base performance in the target environment.
Thus, there has been a largely unsolved need for a system for simulating performance of programs and data bases stored on delayed access time media which enabled large programs and data bases intended for distribution to users e.g. via CD rom to be fully emulated and debugged in the target operating environment without the delays and costs associated with e.g. creating multiple iterations of test disks.